package com.wing.bill.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wing.mybatis.common.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

@Schema(description="加工账单详情表")
@Data
@EqualsAndHashCode(callSuper=true)
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "warehouse_process_bill_detail")
public class WarehouseProcessBillDetail extends BaseEntity<WarehouseProcessBillDetail> {

    @TableField(value = "customer_id")
    @Schema(description="客户编号用sel_customers_info表")
    private Long customerId;

    @TableField(value = "sys_bundle_code")
    @Schema(description="系统捆包号 实际就是code 需要唯一")
    private String sysBundleCode;

    @TableField(value = "start_date")
    @Schema(description="计费开始日期（签收后开始计费）")
    private LocalDateTime startDate;

    @TableField(value = "end_date")
    @Schema(description="计费结束日期（出库/过户/生产时更新）")
    private LocalDateTime endDate;

    @TableField(value = "bill_status")
    @Schema(description="账单状态 0-未结算 1-已结算 2-取消")
    private Integer billStatus;

    @TableField(value = "warehouse_bill_id")
    @Schema(description="主账单id")
    private Long warehouseBillId;

    @TableField(value = "bill_period")
    @Schema(description="账单周期 例如 2024-01、2024-02 ")
    private String billPeriod;

    @TableField(value = "bill_type")
    @Schema(description="账单类别 1、月结 2、手动")
    private String billType;

    @TableField(value = "bill_price")
    @Schema(description="价格  每天多少钱，取当时的托管价格")
    private Double billPrice;

    @TableField(value = "transfer_type")
    @Schema(description="账单类型")
    private Integer transferType;

    @TableField(value = "warehouse_order_id")
    @Schema(description="生产订单id")
    private Long warehouseOrderId;
}
